/*
 *
 * Copyright(c) 2010 Safelayer Secure Communications
 *
 * This is open source software, placed under the terms of the
 * GNU GENERAL PUBLIC LICENSE Version 3.
 * Please see: http://www.gnu.org/licenses/gpl-3.0.txt
 * 
 * Permission to use, copy, modify, and distribute this software
 * for any purpose and without fee is hereby granted, provided
 * that the above copyright notices appear in all copies and that
 * both the copyright notice and this permission notice appear in
 * supporting documentation.
 * 
 */
package com.neuralnoise.foaf.core;

import com.hp.hpl.jena.rdf.model.Model;
import com.hp.hpl.jena.rdf.model.ModelFactory;
import com.hp.hpl.jena.rdf.model.Property;
import com.hp.hpl.jena.rdf.model.Resource;

/**
 * @author victor.martinez <swtp@safelayer.com>
 */
public class FOAFVocabulary {

	public static final String NS = "http://xmlns.com/foaf/0.1/";

	private static Model model = ModelFactory.createDefaultModel();

	public static String getNsUri() {
		return NS;
	}

	public static final Resource NAMESPACE = model.createResource(NS);

	// Classes

	public static final Resource Agent = model.createResource(NS + "Agent");

	public static final Resource Group = model.createResource(NS + "Group");

	public static final Resource Organization = model.createResource(NS + "Organization");

	public static final Resource Person = model.createResource(NS + "Person");

	public static final Resource Document = model.createResource(NS + "Document");

	public static final Resource Image = model.createResource(NS + "Image");

	public static final Resource OnlineAccount = model.createResource(NS + "OnlineAccount");

	public static final Resource PersonalProfileDocument = model.createResource(NS + "PersonalProfileDocument");

	public static final Resource Project = model.createResource(NS + "Project");

	public static final Resource OnlineChatAccount = model.createResource(NS + "OnlineChatAccount");

	public static final Resource OnlineEcommerceAccount = model.createResource(NS + "OnlineEcommerceAccount");

	public static final Resource OnlineGamingAccount = model.createResource(NS + "OnlineGamingAccount");

	// Properties

	public static final Property homepage = model.createProperty(NS + "homepage");

	public static final Property isPrimaryTopicOf = model.createProperty(NS + "isPrimaryTopicOf");

	public static final Property knows = model.createProperty(NS + "knows");

	public static final Property made = model.createProperty(NS + "made");

	public static final Property maker = model.createProperty(NS + "maker");

	public static final Property mbox = model.createProperty(NS + "mbox");

	public static final Property member = model.createProperty(NS + "member");

	public static final Property primaryTopic = model.createProperty(NS + "primaryTopic");

	public static final Property account = model.createProperty(NS + "account");

	public static final Property accountName = model.createProperty(NS + "accountName");

	public static final Property accountServiceHomepage = model.createProperty(NS + "accountServiceHomepage");

	public static final Property aimChatID = model.createProperty(NS + "aimChatID");

	public static final Property based_near = model.createProperty(NS + "based_near");

	public static final Property currentProject = model.createProperty(NS + "currentProject");

	public static final Property depiction = model.createProperty(NS + "depiction");

	public static final Property depicts = model.createProperty(NS + "depicts");

	public static final Property familyName = model.createProperty(NS + "familyName");

	public static final Property firstName = model.createProperty(NS + "firstName");

	public static final Property focus = model.createProperty(NS + "focus");

	public static final Property givenName = model.createProperty(NS + "givenName");

	public static final Property icqChatID = model.createProperty(NS + "icqChatID");

	public static final Property img = model.createProperty(NS + "img");

	public static final Property interest = model.createProperty(NS + "interest");

	public static final Property jabberID = model.createProperty(NS + "jabberID");

	public static final Property lastName = model.createProperty(NS + "lastName");

	public static final Property logo = model.createProperty(NS + "logo");

	public static final Property mbox_sha1sum = model.createProperty(NS + "mbox_sha1sum");

	public static final Property msnChatID = model.createProperty(NS + "msnChatID");

	public static final Property myersBriggs = model.createProperty(NS + "myersBriggs");

	public static final Property name = model.createProperty(NS + "name");

	public static final Property nick = model.createProperty(NS + "nick");

	public static final Property openid = model.createProperty(NS + "openid");

	public static final Property page = model.createProperty(NS + "page");

	public static final Property pastProject = model.createProperty(NS + "pastProject");

	public static final Property phone = model.createProperty(NS + "phone");

	public static final Property plan = model.createProperty(NS + "plan");

	public static final Property publications = model.createProperty(NS + "publications");

	public static final Property schoolHomepage = model.createProperty(NS + "schoolHomepage");

	public static final Property skypeID = model.createProperty(NS + "skypeID");

	public static final Property thumbnail = model.createProperty(NS + "thumbnail");

	public static final Property tipjar = model.createProperty(NS + "tipjar");

	public static final Property title = model.createProperty(NS + "title");

	public static final Property topic = model.createProperty(NS + "topic");

	public static final Property topic_interest = model.createProperty(NS + "topic_interest");

	public static final Property weblog = model.createProperty(NS + "weblog");

	public static final Property workInfoHomepage = model.createProperty(NS + "workInfoHomepage");

	public static final Property workplaceHomepage = model.createProperty(NS + "workplaceHomepage");

	public static final Property yahooChatID = model.createProperty(NS + "yahooChatID");

	public static final Property age = model.createProperty(NS + "age");

	public static final Property birthday = model.createProperty(NS + "birthday");

	public static final Property membershipClass = model.createProperty(NS + "membershipClass");

	public static final Property sha1 = model.createProperty(NS + "sha1");

	public static final Property status = model.createProperty(NS + "status");

}